--- /dev/null
+#!/usr/bin/perl -w
+
+my $preamble = <<EOF;
+/* Generated by makegtkalias.pl */
+
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
+
+#ifdef GTK_ENABLE_BROKEN
+#define WAS_BROKEN
+#endif
+#define GTK_ENABLE_BROKEN
+#define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API
+
+
+#ifdef GTK_DISABLE_DEPRECATED
+#define WAS_NO_DEPR
+#endif
+#undef GTK_DISABLE_DEPRECATED
+
+#ifdef G_DISABLE_DEPRECATED
+#define WAS_NO_G_DEPR
+#endif
+#undef G_DISABLE_DEPRECATED
+
+#include "gtk.h"
+
+#include "gtkfilesystem.h"
+#include "gtkfilesystemunix.h"
+#include "gtkhsv.h"
+#include "gtkinternals.h"
+#include "gtkpathbar.h"
+#include "gtktextdisplay.h"
+#include "gtktextlayout.h"
+#include "gtktextsegment.h"
+#include "gtktexttypes.h"
+#include "gtktreedatalist.h"
+#include "gtkthemes.h"
+#include "gtkwindow-decorate.h"
+
+EOF
+
+my $postamble = <<EOF;
+
+#ifndef WAS_BROKEN
+#undef GTK_ENABLE_BROKEN
+#else
+#undef WAS_BROKEN
+#endif
+
+#ifdef WAS_NO_DEPR
+#define GTK_DISABLE_DEPRECATED
+#undef WAS_NO_DEPR
+#endif
+
+#ifdef WAS_NO_G_DEPR
+#define G_DISABLE_DEPRECATED
+#undef WAS_NO_G_DEPR
+#endif
+
+#endif /* __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) */
+EOF
+
+print $preamble;
+while (<>) {
+ my $str = $_;
+ chomp($str);
+
+ # ignore empty lines
+ if ("$str" eq "") {
+ next;
+ }
+
+ my $alias = $str."__internal_alias";
+
+ print "extern __typeof ($str) $alias __attribute((visibility(\"hidden\"))); \n";
+ print "extern __typeof ($str) $str __attribute((alias(\"$alias\"), visibility(\"default\"))); \n";
+ print "#define $str $alias \n";
+ print "\n";
+}
+
+print $postamble;
+